package com.xiaoshuidi.cloud.module.member.controller.admin.securitycheck.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.math.BigDecimal;
import javax.validation.constraints.*;

/**
* 安全检查整改项 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class SecurityCheckRectificationItemBaseVO {

    @Schema(description = "安全检查id", required = true)
    @NotNull(message = "安全检查id不能为空")
    private Long securityCheckId;

    @Schema(description = "整治目标和计划", required = true)
    @NotNull(message = "整治目标和计划不能为空")
    private String target;

    @Schema(description = "隐患基本情况", required = true)
    @NotNull(message = "隐患基本情况不能为空")
    private String hazardContext;

    @Schema(description = "隐患所在地", required = true)
    @NotNull(message = "隐患所在地不能为空")
    private String hazardAddress;

    @Schema(description = "隐患类型")
    private String hazardType;

    @Schema(description = "整治措施和要求", required = true)
    @NotNull(message = "整治措施和要求不能为空")
    private String remediation;

    @Schema(description = "整治资金")
    private BigDecimal capital;

    @Schema(description = "整治责任人", required = true)
    //@NotNull(message = "整治责任人不能为空") 版本7.0.9 字段弃用
    private String wilfulness;

    @Schema(description = "整治责任单位", required = true)
    //@NotNull(message = "整治责任单位不能为空") 版本7.0.9 字段弃用
    private String responsibleUnit;

    @Schema(description = "整治期限", required = true)
    //@NotNull(message = "整治期限不能为空") 版本7.0.9 字段弃用
    private LocalDate timeframe;

    @Schema(description = "是否逾期")
    private Integer isOverdue;

    @NotNull(message = "整改隐患图片")
    private String hazardPhoto;

    @Schema(description = "备注信息")
    private String remark;

}
